package main

import "github.com/kataras/iris/v12"

func main()  {


	// party只是一组具有相同前缀//和中间件（即：“ / games”和gamesMiddleware）的路由。


		app := iris.Default()

		//此处理程序将匹配/user/john，但不匹配/ user /或/ user
		app.Get("/user/{name}", func(ctx iris.Context) {
			name := ctx.Params().Get("name")
			firstname:=ctx.URLParamDefault("firstname","Guest")
			lastname:=ctx.URLParam("lastname")
			ctx.Writef("Hello %s", name)
			ctx.Writef("Hello %s %s",firstname,lastname)
		})

	app.Post("/form_post", func(ctx iris.Context) {
		message := ctx.PostValue("message")
		nick := ctx.PostValueDefault("nick", "anonymous")

		ctx.JSON(iris.Map{
			"status":  "posted",
			"message": message,
			"nick":    nick,
		})
	})

		//但是，此路由器将匹配/user/john/以及/user/john/send
		//如果没有其他路由器与/user/john匹配,它将重定向到/user/john/
		app.Get("/user/{name}/{action:path}", func(ctx iris.Context) {
			name := ctx.Params().Get("name")
			action := ctx.Params().Get("action")
			message := name + " is " + action
			ctx.WriteString(message)
		})

		//对于每个匹配的请求，上下文将保留路由定义
		app.Post("/user/{name:string}/{action:path}", func(ctx iris.Context) {
			src := ctx.GetCurrentRoute().Tmpl().Src
			ctx.WriteString(src)
			//ctx.GetCurrentRoute().Tmpl().Src== "/user/{name:string}/{action:path}" true

			
		})

		app.Listen(":8080")

}
